package com.asc {

/**
 * Implementations define elements of a totally-ordered set, that is, a set <strong>S</strong>
 * such that the following statements hold for all elements <strong>a, b, c</strong> in <strong>S</strong>:
 * <ul>
 *  <li>
 *      if <strong>a</strong> compareTo <strong>b</strong> <= 0 and <strong>b</strong> compareTo <strong>a</strong <= 0
 *      then <strong>a</strong> equals <strong>b</strong> (<i>anti-symmetry</i>
 *  </li>
 *  <li>
 *    if <strong>a</strong> compareTo <strong>b</strong> <= 0 and <strong>c</strong> compareTo <strong>b</strong> <= 0
 *    then <strong>c</strong> compareTo <strong>a</strong> <= 0
 *  </li>
 *  <li>
 *   <strong>a</strong> compareTo <strong>b</strong> is defined for all elements <strong>a, b</strong> in <strong>S</strong>
 *  </li>
 * </ul>
 *
 */
public interface Comparable extends Identifiable {

  /**
   * 
   *
   * @param other
   * @return
   */
  function compareTo(other:Comparable) : int;





  
}
}